home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / front.lha / front / src / Errors.md < prev    next >
Text File  |  1992-08-18  |  2KB  |  104 lines

  1. (* handle and log errors *)
  2.  
  3. (* $Id: Errors.md,v 2.2 1992/08/07 15:13:51 grosch rel $ *)
  4.  
  5. (* $Log: Errors.md,v $
  6.  * Revision 2.2  1992/08/07  15:13:51  grosch
  7.  * allow several scanner and parsers; extend module Errors
  8.  *
  9.  * Revision 2.1  1991/11/21  14:47:50  grosch
  10.  * new version of RCS on SPARC
  11.  *
  12.  * Revision 2.0  91/03/08  18:26:15  grosch
  13.  * turned tables into initialized arrays (in C)
  14.  * moved mapping tokens -> strings from Errors to Parser
  15.  * changed interface for source position
  16.  * 
  17.  * Revision 1.1  90/06/11  18:44:44  grosch
  18.  * layout improvements
  19.  * 
  20.  * Revision 1.0     88/10/04  14:26:43  vielsack
  21.  * Initial revision
  22.  * 
  23.  *)
  24.  
  25. DEFINITION MODULE Errors;
  26.  
  27. FROM SYSTEM    IMPORT ADDRESS;
  28. FROM Positions    IMPORT tPosition;
  29.  
  30. CONST
  31.    NoText        = 0    ;
  32.    SyntaxError        = 1    ;    (* error codes        *)
  33.    ExpectedTokens    = 2    ;
  34.    RestartPoint        = 3    ;
  35.    TokenInserted    = 4    ;
  36.    WrongParseTable    = 5    ;
  37.    OpenParseTable    = 6    ;
  38.    ReadParseTable    = 7    ;
  39.  
  40.    Fatal        = 1    ;    (* error classes    *)
  41.    Restriction        = 2    ;
  42.    Error        = 3    ;
  43.    Warning        = 4    ;
  44.    Repair        = 5    ;
  45.    Note            = 6    ;
  46.    Information        = 7    ;
  47.  
  48.    None            = 0    ;
  49.    Integer        = 1    ;    (* info classes        *)
  50.    Short        = 2    ;
  51.    Long            = 3    ;
  52.    Real            = 4    ;
  53.    Boolean        = 5    ;
  54.    Character        = 6    ;
  55.    String        = 7    ;
  56.    Array        = 8    ;
  57.    Set            = 9    ;
  58.    Ident        = 10    ;
  59.  
  60. CONST    (* info classes *)
  61.   eInteger    =    1;
  62.   eShort    =    2;
  63.   eLong        =    3;
  64.   eReal        =    4;
  65.   eBoolean    =    5;
  66.   eCharacter    =    6;
  67.   eString    =    7;
  68.   eArray    =    8;
  69.   eSet        =    9;
  70.   eIdent    =    10;
  71.   eTermSet    =    11;
  72.  
  73. CONST    (* error classes *)
  74.   eFatal    =    1;
  75.   eRestriction    =    2;
  76.   eError    =    3;
  77.   eWarning    =    4;
  78.   eRepair    =    5;
  79.   eNote        =    6;
  80.   eInformation    =    7;
  81.  
  82. CONST
  83.   SysOffset    =    100;
  84.   eInternal    =    15;
  85.  
  86. TYPE tReportMode    = (eImmediate, eNoListing, eListing);
  87.  
  88. CONST MaxErrorClass    = 7;
  89.  
  90. VAR ErrorCount    : ARRAY [0..MaxErrorClass] OF SHORTCARD;
  91.  
  92. PROCEDURE ErrorMessage    (ErrorCode, ErrorClass: CARDINAL; Position: tPosition);
  93. PROCEDURE ErrorMessageI (ErrorCode, ErrorClass: CARDINAL; Position: tPosition;
  94.              InfoClass: CARDINAL; Info: ADDRESS);
  95. PROCEDURE BeginErrors    ();
  96. PROCEDURE SetReportMode (mode: tReportMode);
  97. PROCEDURE CloseErrors    ();
  98.  
  99. VAR
  100.   ReportClass : BITSET;
  101.   ErrorTable  : ARRAY [0..255] OF CHAR;
  102.  
  103. END Errors.
  104.